In a variety of document presentation systems such as printing systems, it is common to rasterize data to generate a bitmap representation of each sheetside image of the document by processing a sequence of data objects. The data objects are typically initially defined in a page description language or other suitable encoding and at some point prior to writing to a bitmap are represented as regions of rectangles of pixels. Typically, the sheetside image is then generated into a bitmap memory as a two dimensional matrix of pixels representing the intended document sheetside image.
Often these sheetside images are saved to enable reuse during printing of a job. Thus, when a job is saved at a fixed page size and subsequently used at that same size, the pages do not have to be re-rasterized. However, the pages may ultimately be printed on paper loaded in a different orientation (such as Long Edge Feed vs. Short Edge Feed), and thus need to be rotated to match the paper direction. Rotation of the saved bitmaps currently requires that the pages be completely decompressed, rotated and then recompressed. This process may take longer than actually processing the job a second time.
Accordingly, an efficient bitmap rotation mechanism is desired.